<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Function</title>
    <script>
        /**
         * 函数语法
         */
        function sum1(num1, num2) {
            return num1 + num2;
        }

        /**
         * 函数表达式定义
         * 注意这里function后面没有跟函数名， 这是因为变量名sum既可以引用函数
         */
        let sum2 = function (num1, num2) {
            return num1 + num2;
        };

        /**
         * 通过new(不推荐)
         */
        let sum3 = new Function("num1", "num2", "return num1 + num2");


        //-------------------下边这个例子说明了函数其实还是一个对象------------------------
        function sum4(num1, num2) {
            return num1 + num2;
        }
        alert(sum4(2, 3));//5

        let anotherSum = sum4;
        alert(anotherSum(5, 5));//10

        let sum = null;
        alert(anotherSum(5, 10));//15 因为变量anotherSum的指针还是指向内存中的函数


    </script>
</head>
<body>
Function
</body>
</html>